package com.hsjk.szwj.module.official.service.unit;

import com.hsjk.szwj.framework.common.pojo.PageResult;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleBannerCreateReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleBannerDetailRespVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleBannerPageReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleBannerPageRespVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleBannerUpdateReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyCreateReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyDetailRespVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyPageReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyPageRespVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyUpdateReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleFeedCreateReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleFeedDetailRespVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleFeedPageReqVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleFeedPageRespVO;
import com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleFeedUpdateReqVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleBannerDetailRespVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleBannerPageReqVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleBannerPageRespVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleDiyDetailRespVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleDiyPageReqVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleDiyPageRespVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleFeedDetailRespVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleFeedPageReqVO;
import com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleFeedPageRespVO;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/11/23 22:40
 **/
public interface IUnitService {
    /**
     * 创建组件化banner
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/23 10:48 PM
     **/
    Boolean createModuleBanner(AdminModuleBannerCreateReqVO reqVO);


    /**
     * 根据组件banner Id查询详细信息
     *
     * @param id
     * @return com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleBannerDetailRespVO
     * @author chenjiawei
     * @date 2023/11/26 8:38 PM
     **/
    AdminModuleBannerDetailRespVO getAdminModuleBannerDetail(Long id);

    /**
     * 根据组件banner Id查询详细信息
     *
     * @param id
     * @return com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleBannerDetailRespVO
     * @author chenjiawei
     * @date 2023/11/26 11:39 PM
     **/
    AppModuleBannerDetailRespVO getAppModuleBannerDetail(Long id);

    /**
     * 更新组件化banner
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/23 10:50 PM
     **/
    Boolean updateModuleBanner(AdminModuleBannerUpdateReqVO reqVO);

    /**
     * 删除组件化banner
     *
     * @param id
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/23 10:51 PM
     **/
    Boolean deleteModuleBanner(Long id);

    /**
     * banner分页查询
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleBannerPageRespVO>
     * @author chenjiawei
     * @date 2023/11/24 12:06 AM
     **/
    PageResult<AdminModuleBannerPageRespVO> getAdminModuleBannerPage(AdminModuleBannerPageReqVO reqVO);

    /**
     * banner分页查询
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleBannerPageRespVO>
     * @author chenjiawei
     * @date 2023/11/26 11:42 PM
     **/
    PageResult<AppModuleBannerPageRespVO> getAppModuleBannerPage(AppModuleBannerPageReqVO reqVO);

    /**
     * 新增金刚区
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/24 12:00 AM
     **/
    Boolean createModuleDiy(AdminModuleDiyCreateReqVO reqVO);

    /**
     * 获取金刚区详细信息
     *
     * @param id
     * @return com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyDetailRespVO
     * @author chenjiawei
     * @date 2023/11/26 8:41 PM
     **/
    AdminModuleDiyDetailRespVO getAdminModuleDiyDetail(Long id);

    /**
     * 获取金刚区详细信息
     *
     * @param id
     * @return com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleDiyDetailRespVO
     * @author chenjiawei
     * @date 2023/11/26 11:45 PM
     **/
    AppModuleDiyDetailRespVO getAppModuleDiyDetail(Long id);

    /**
     * 更改金刚区
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/24 12:01 AM
     **/
    Boolean updateModuleDiy(AdminModuleDiyUpdateReqVO reqVO);

    /**
     * 删除金刚区
     *
     * @param id
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/24 12:02 AM
     **/
    Boolean deleteModuleDiy(Long id);

    /**
     * 分页查询金刚区
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyPageRespVO>
     * @author chenjiawei
     * @date 2023/11/24 12:20 AM
     **/
    PageResult<AdminModuleDiyPageRespVO> getAdminModuleDiyPage(AdminModuleDiyPageReqVO reqVO);

    /**
     * 分页查询金刚区
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleDiyPageRespVO>
     * @author chenjiawei
     * @date 2023/11/26 11:46 PM
     **/
    PageResult<AppModuleDiyPageRespVO> getAppModuleDiyPage(AppModuleDiyPageReqVO reqVO);

    /**
     * 创建信息流
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/26 3:29 PM
     **/
    Boolean createModuleFeed(AdminModuleFeedCreateReqVO reqVO);


    /**
     * 获取信息流详细信息
     *
     * @param id
     * @return com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleFeedDetailRespVO
     * @author chenjiawei
     * @date 2023/11/26 8:44 PM
     **/
    AdminModuleFeedDetailRespVO getAdminModuleFeedDetail(Long id);

    /**
     * 获取信息流详细信息
     *
     * @param id
     * @return com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleFeedDetailRespVO
     * @author chenjiawei
     * @date 2023/11/26 11:48 PM
     **/
    AppModuleFeedDetailRespVO getAppModuleFeedDetail(Long id);

    /**
     * 修改信息流
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/26 3:29 PM
     **/
    Boolean updateModuleFeed(AdminModuleFeedUpdateReqVO reqVO);

    /**
     * 删除信息流
     *
     * @param id
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/11/24 12:02 AM
     **/
    Boolean deleteModuleFeed(Long id);

    /**
     * 分页查询信息流
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.official.controller.admin.unit.vo.AdminModuleDiyPageRespVO>
     * @author chenjiawei
     * @date 2023/11/26 3:32 PM
     **/
    PageResult<AdminModuleFeedPageRespVO> getAdminModuleFeedPage(AdminModuleFeedPageReqVO reqVO);

    /**
     * 分页查询信息流
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.official.controller.app.unit.vo.AppModuleFeedPageRespVO>
     * @author chenjiawei
     * @date 2023/11/26 11:49 PM
     **/
    PageResult<AppModuleFeedPageRespVO> getAppModuleFeedPage(AppModuleFeedPageReqVO reqVO);
}
